← Doomscroll 📚 Tous les cours

[doc] Les multi-ensembles - Type abstrait

[doc] Les multi-ensembles - Type abstrait

Lien Moodle : https://moodle.epita.fr/mod/page/view.php?id=108776

Contenu du cours

    types

        multiensemble

    utilise

        booléen, élément, entier

    opérations

        multiensemblevide : → multiensemble
                  ajouter : élément x multiensemble → multiensemble
                supprimer : élément x multiensemble → multiensemble
                      _∈_ : élément x multiensemble → booléen
                     card : multiensemble → entier
            nboccurrences : élément x multiensemble → élément

    axiomes

        (x ∈ multiensemblevide) = faux
        x = y ⇒ (x ∈ ajouter(y, me)) = vrai
        x ≠ y ⇒ (x ∈ ajouter(y, me)) = (x ∈ me)
        nboccurrences(x, me) ≤ 1 ⇒ (x ∈ supprimer(x, me)) = faux
        x ≠ y ⇒ (x ∈ supprimer(y, me)) = (x ∈ me)

        card(multiensemblevide) = 0
        card(ajouter(x, me)) = card(me) + 1
        x ∈ me = vrai ⇒  card(supprimer(x, me)) = card(me) - 1
        x ∈ me = faux ⇒  card(supprimer(x, me)) = card(me)

        nboccurrences(x, multiensemblevide) = 0
        x = y ⇒ nboccurrences(x, ajouter(y, me)) = nboccurrences(x, me) + 1
        x ≠ y ⇒ nboccurrences(x, ajouter(y, me)) = nboccurrences(x, me)
        nboccurrences(x, me) = 0 ⇒ nboccurrences(x, supprimer(x, me)) = 0
        nboccurrences(x, me) ≥ 1 ⇒ nboccurrences(x, supprimer(x, me)) = nboccurrences(x, me) - 1
        x ≠ y ⇒ nboccurrences(x, supprimer(y, me)) = nboccurrences(x, me)

    avec

        multiensemble me
              élément x, y